package com.itheima.commons.model.vo;

import lombok.Builder;
import lombok.Data;

/**
 * 给客户端返回的错误状态码
 */
@Data
@Builder
public class ErrorResult {
    private String errCode;
    private String errMessage;

    public static ErrorResult error() {
        return ErrorResult.builder().errCode("999999").errMessage("未知错误,请稍后重试").build();
    }

    public static ErrorResult mobileFormatIncorrect() {
        return ErrorResult.builder().errCode("100001").errMessage("手机号码格式不正确").build();
    }

    public static ErrorResult verificationCodeExpired() {
        return ErrorResult.builder().errCode("100002").errMessage("之前发送的验证码还未失效").build();
    }

    public static ErrorResult verificationCodeCheckError() {
        return ErrorResult.builder().errCode("100003").errMessage("验证码错误").build();
    }

    public static ErrorResult sendCodeMsgError() {
        return ErrorResult.builder().errCode("100004").errMessage("发送短信失败").build();
    }

    public static ErrorResult tokenValid() {
        return ErrorResult.builder().errCode("100005").errMessage("Token是无效的").build();
    }

    public static ErrorResult tokenTimeOut() {
        return ErrorResult.builder().errCode("100006").errMessage("Token已经过期").build();
    }

    public static ErrorResult paramesIsEmpty() {
        return ErrorResult.builder().errCode("100006").errMessage("参数为空").build();
    }

    public static ErrorResult picFormatIncorrect() {
        return ErrorResult.builder().errCode("100007").errMessage("图片格式不正确").build();
    }

    public static ErrorResult picSizeIncorrect() {
        return ErrorResult.builder().errCode("100008").errMessage("图片尺寸过大").build();
    }

    public static ErrorResult recommendUserIsEmpty() {
        return ErrorResult.builder().errCode("200001").errMessage("今日佳人为空").build();
    }

    public static ErrorResult publishContentIsEmpty() {
        return ErrorResult.builder().errCode("300001").errMessage("发布圈子内容不能为空").build();
    }

    public static ErrorResult uploadSmallVideoIsEmpty() {
        return ErrorResult.builder().errCode("400001").errMessage("上传小视频不能为空").build();
    }

    public static ErrorResult userRegistrationFailed() {
        return ErrorResult.builder().errCode("100009").errMessage("用户注册失败, 请重试").build();
    }

    public static ErrorResult sendHXMsgFailed() {
        return ErrorResult.builder().errCode("500001").errMessage("发送环信消息失败,请稍后重试").build();
    }

    public static ErrorResult addFriendFailed() {
        return ErrorResult.builder().errCode("500002").errMessage("添加好友失败").build();
    }

    public static ErrorResult newPhoneNumISAlreadyOccupied() {
        return ErrorResult.builder().errCode("100010").errMessage("新手机号码已经被占用").build();
    }

    public static ErrorResult updateUserLocationFailed() {
        return ErrorResult.builder().errCode("100011").errMessage("更新用户位置失败").build();
    }

    public static ErrorResult usernameOrPasswordIsNull() {
        return ErrorResult.builder().errCode("100012").errMessage("请输入账户或密码").build();
    }

    public static ErrorResult userCodeIsNull() {
        return ErrorResult.builder().errCode("100013").errMessage("请输入验证码").build();
    }

    public static ErrorResult adminLoginError() {
        return ErrorResult.builder().errCode("100013").errMessage("输入有误请重新输入！").build();
    }
    public static ErrorResult userFreezeError() {
        return ErrorResult.builder().errCode("300001").errMessage("用户已冻结！").build();
    }

    public static ErrorResult peachFormatIncorrect() {
        return ErrorResult.builder().errCode("100012").errMessage("语音文件有误").build();
    }

    public static ErrorResult peachSizeIncorrect() {
        return ErrorResult.builder().errCode("100013").errMessage("语音文件过大").build();

    }
    public static ErrorResult accountFreeze() {
        return ErrorResult.builder().errCode("100014").errMessage("账户已被冻结").build();
    }

    public static ErrorResult cantPublish() {
        return ErrorResult.builder().errCode("100015").errMessage("该账号被冻结发布朋友圈").build();
    }
}
